Tables [dbo].[Name_Security]
Properties
PropertyValue
Created3:12:49 PM Friday, January 07, 2011
Last Modified11:40:04 AM Monday, February 20, 2012
Columns
NameData TypeMax Length (Bytes)Allow NullsIdentityDefault
Primary Key PK_Name_Security: IDIDvarchar(10)10
No
('')
LOGIN_DISABLEDbit1
No
((0))
Cluster Key iName_SecurityLOGIN: WEB_LOGINWEB_LOGINvarchar(60)60
No
('')
PASSWORDvarchar(100)100
No
('')
EXPIRATION_DATEdatetime8
Yes
LAST_LOGINdatetime8
Yes
PREVIOUS_LOGINdatetime8
Yes
Indexes iName_SecurityContactID: ContactIDContactIDint4
No
1 - 1
UPDATED_BYvarchar(60)60
No
('')
TIME_STAMPtimestamp8
Yes
Indexes Indexes
NameColumnsUnique
Primary Key PK_Name_Security: IDPK_Name_SecurityID
Yes
iName_SecurityContactIDContactID
Cluster Key iName_SecurityLOGIN: WEB_LOGINiName_SecurityLOGINWEB_LOGIN
Triggers Triggers
NameANSI Nulls OnQuoted Identifier OnOn
asi_Name_Security_Delete
Yes
Yes
After Delete
asi_Name_Security_Update
Yes
Yes
After Update
Permissions
TypeActionOwning Principal
GrantDeleteIMIS
GrantInsertIMIS
GrantReferencesIMIS
GrantSelectIMIS
GrantUpdateIMIS
SQL Script
CREATE TABLE [dbo].[Name_Security]
(
[ID] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Name_Security_ID] DEFAULT (''),
[LOGIN_DISABLED] [bit] NOT NULL CONSTRAINT [DF_Name_Security_LOGIN_DISABLED] DEFAULT ((0)),
[WEB_LOGIN] [varchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Name_Security_WEB_LOGIN] DEFAULT (''),
[PASSWORD] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Name_Security_PASSWORD] DEFAULT (''),
[EXPIRATION_DATE] [datetime] NULL,
[LAST_LOGIN] [datetime] NULL,
[PREVIOUS_LOGIN] [datetime] NULL,
[ContactID] [int] NOT NULL IDENTITY(1, 1),
[UPDATED_BY] [varchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Name_Security_UPDATED_BY] DEFAULT (''),
[TIME_STAMP] [timestamp] NULL
) ON [PRIMARY]

GO

CREATE TRIGGER [dbo].[asi_Name_Security_Delete]
    ON [dbo].[Name_Security]
    FOR DELETE
AS
BEGIN
    SET NOCOUNT ON
    UPDATE um
       SET um.[IsDisabled] = 1,
           um.[UserId] = ''
      FROM deleted d
           INNER JOIN [dbo].[UserMain] um ON d.[WEB_LOGIN] = um.[UserId]
     WHERE d.[WEB_LOGIN] <> ''
    SET NOCOUNT OFF
END


GO
CREATE TRIGGER [dbo].[asi_Name_Security_Update]
   ON  [dbo].[Name_Security]
   FOR UPDATE
AS
BEGIN
    IF EXISTS (SELECT 1 FROM inserted i JOIN deleted d ON i.ID = d.ID
                WHERE i.[LOGIN_DISABLED] <> d.[LOGIN_DISABLED] OR i.[EXPIRATION_DATE] <> d.[EXPIRATION_DATE]
                      OR (i.[EXPIRATION_DATE] IS NULL AND d.[EXPIRATION_DATE] IS NOT NULL)
                      OR (i.[EXPIRATION_DATE] IS NOT NULL AND d.[EXPIRATION_DATE] IS NULL))
    BEGIN
        UPDATE u
           SET u.[ExpirationDate] = i.[EXPIRATION_DATE],
               u.[IsDisabled] = i.[LOGIN_DISABLED],
               u.[UpdatedOn] = GETDATE()
          FROM [dbo].[UserMain] u INNER JOIN inserted i ON u.[ContactMaster] = i.[ID]
    END    
END

GO
ALTER TABLE [dbo].[Name_Security] ADD CONSTRAINT [PK_Name_Security] PRIMARY KEY NONCLUSTERED ([ID]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [iName_SecurityContactID] ON [dbo].[Name_Security] ([ContactID]) ON [PRIMARY]
GO
CREATE CLUSTERED INDEX [iName_SecurityLOGIN] ON [dbo].[Name_Security] ([WEB_LOGIN]) ON [PRIMARY]
GO
GRANT REFERENCES ON  [dbo].[Name_Security] TO [IMIS]
GRANT SELECT ON  [dbo].[Name_Security] TO [IMIS]
GRANT INSERT ON  [dbo].[Name_Security] TO [IMIS]
GRANT DELETE ON  [dbo].[Name_Security] TO [IMIS]
GRANT UPDATE ON  [dbo].[Name_Security] TO [IMIS]
GO
Uses
Used By